package com.example.mybatisplus.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplus.model.domain.Resident;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisplus.model.dto.PageDTO;
import com.example.mybatisplus.model.dto.BedInfoDTO;
import com.example.mybatisplus.model.dto.StudentCountDTO;
import com.example.mybatisplus.model.dto.UnderDTO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lxp
 * @since 2024-07-17
 */
public interface ResidentService extends IService<Resident> {
    int countStudentsByCampusId(Long campusId);
    int getUndergraduateCount(String areaname, String campusname);
    int getTeacherCount(String areaname, String campusname);
    int getMasterCount(String areaname, String campusname);
    int getDoctorCount(String areaname, String campusname);
    int getCheckedInUndergraduatesCount();
    int getUndergraduatesCount();
    int getCheckedInMastersCount();
    int getMastersCount();
    int getCheckedInPhdsCount();
    int getPhdsCount();
    int getCheckedInStaffsCount();
    int getStaffsCount();
    List<StudentCountDTO> getStudentCountByMajor(String campusName, String areaName);
    Page<UnderDTO>getUnderBed(UnderDTO underDTO, PageDTO dto);

    Page<UnderDTO> getPostBed(UnderDTO underDTO, PageDTO dto);
    Page<UnderDTO> getStaffBed(UnderDTO underDTO, PageDTO dto);
}
